package cn.edu.zafu.bigdata.x.hjn;

import java.util.Scanner;

// 自定义异常类 InvalidScoreException
class InvalidScoreException extends Exception {
    // 构造方法，接收错误信息
    public InvalidScoreException(String message) {
        super(message);
    }
}

// 主类，包含分数验证方法和测试代码
public class ScoreValidator {

    // 静态方法用于验证分数
    public static void checkScore(int score) throws InvalidScoreException {
        // 判断分数是否在合法范围内
        if (score < 0 || score > 100) {
            // 如果不合法，抛出InvalidScoreException异常
            throw new InvalidScoreException("分数无效，必须在0到100之间。");
        } else {
            // 如果分数合法，输出有效提示信息
            System.out.println("分数有效：" + score);
        }
    }

    public static void main(String[] args) {
        // 创建Scanner对象用于接收用户输入
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入分数：");

        try {
            // 接收用户输入的分数
            int score = scanner.nextInt();

            // 调用checkScore方法进行验证
            checkScore(score);
        } catch (InvalidScoreException e) {
            // 捕获InvalidScoreException异常并输出错误提示
            System.out.println("错误：" + e.getMessage());
        } catch (Exception e) {
            // 捕获其他异常，如输入非数字时的异常
            System.out.println("输入无效，请输入一个整数。");
        } finally {
            // 关闭Scanner资源
            scanner.close();
        }
    }
}

